home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / prog_d / mdboutln.zip / NOTEDEMO.DBT (.txt) < prev    next >
dBase/FoxBase/XBase/FoxPro Database File  |  1995-11-27  |  62KB  |  537 lines

  1. NOTEDEMO
  2. TDBOutline can be used to display, manipulate and save the hierarchic structure of recursively related (self-referencing) data.  Recursively related tables are used for many purposes.  See the children of this node for details.
  3. TDBOutline is a descendant of the TOutline Class, inheriting all TOutline's properties, methods and events.
  4. TDBOutline has additional properties, methods and events that provide the following:
  5. Automatic loading of recursively related data into the outline, preserving the hierarchic structure. One call to method LoadFromDataSet is all it takes to populate the outline with all the table data.
  6.  data contained in a database.
  7. TDBOutline is a descendant of the TOutline Class, inheriting all TOutline's properties, methods and events.
  8. TDBOutline has additional properties, methods and events that provide the following:
  9. Automatic loading of non-recursive data as top-level nodes.  This allows quick loading of table data into the outline structure, allowing the future addition of child nodes programatically.table data.
  10.  data contained in a database.
  11. TDBOutline is a descendant of the TOutline Class, inheriting all TOutline's properties, methods and events.
  12. TDBOutline has additional properties, methods and events that provide the following:
  13. Automatic drag and drop facilities that move a node and all its children to be children of the dropped-on node.  Dragging a node off the outline control will cause the outline to scroll, enabling drag and drop to a node not visible on the same page as the from-node. A default Move confirmation message can enabled, disabled or overridden with your own custom message.  al properties, methods and events that provide the following:
  14. Automatic record-pointer synchronization -- as you navigate through the outline, TDBOutline will move the record pointer in the table to the associated record.  It will even search for the appropriate index to enable FindKey synchronization.
  15.  page as the from-node. A default Move confirmation message can enabled, disabled or overridden with your own custom message.  al properties, methods and events that provide the following:
  16. Automatic update of recursive field upon drag and drop -- when a node is dropped on another node, the dropped-on node's key field will be written to the dropped node's recursive field. the appropriate index to enable FindKey synchronization.
  17.  page as the from-node. A default Move confirmation message can enabled, disabled or overridden with your own custom message.  al properties, methods and events that provide the following:
  18. Applies to
  19. TDBOutline
  20. Declaration
  21. property DataAutoDrag: Boolean;
  22. Description
  23. The DataAutoDrag property determines whether the outline control, when dragging, will automatically scroll when a node is dragged outside the controls boundaries. These are the possible values:
  24. Value
  25. Meaning
  26. If True is selected, and drag mode is entered, then when a node is dragged outside the boundaries of the control, the control will scroll in the appropriate direction.
  27. False
  28. If False is selected and drag mode is entered, then scrolling will not be automatic.
  29. Automatic outline synchronization -- as you navigate through the dataset, you can cause the selected outline to synchronize with the selected dataset record by calling a single method.
  30. ally organized data contained in a database.
  31. TDBOutline is a descendant of the TOutline Class, inheriting all TOutline's properties, methods and events.
  32. TDBOutline has additional properties, methods and events.  See the children of this node for details.
  33. Applies to
  34. TDBOutline
  35. Declaration
  36. property DataAutoSynch: Boolean;
  37. Description
  38. The DataAutoSynch property determines whether the record pointer of the dataset loaded into the outline control will move to the record corresponding to the selected outline node whenever the selected outline node changes. Also, DataAutoSynch will determine if the record corresponding to a dragged-from node will have its DataFieldRecursive field updated with the value of the dragged-to node's corresponding data record's DataField field. These are the possible values:
  39. Value
  40. Meaning
  41. If True is selected, and a new outline node is selected, the record pointer of the outline's underlying dataset will be moved to the record represented by the outline node. 
  42. If True is selected and node A is dragged and dropped on node B, then node A's data record will have its DataFieldRecursive updated by node B's DataField.
  43. False
  44. If False is selected the record pointer of the outline's underlying dataset will not be synchronized with the selected node.
  45. If False is selected, and node A is dragged and dropped on node B, then the node will be moved, but the underlying dataset will NOT be updated.
  46. Applies to
  47. TDBOutline
  48. Declaration
  49. property DataField: String;
  50. Description
  51. The DataField property identifies the field from which TDBOutline controls the loading and display of its hierarchical data. 
  52. DataField represents the key field of the recursive relation defined for the dataset.
  53. During drag-and-drop operations, DataField will be used to update the field of the dataset's record identified by the DataFieldRecursive property.
  54. After TDBOutline's LoadFromDataSet method is called, DataField will be displayed as the first value in each outline node.
  55. The dataset the field is located in is specified in a data source component (TDataSource). 
  56. The DataSource property of the data-aware control specifies which data source component.
  57. Applies to
  58. TDBOutline
  59. Declaration
  60. property DataFieldDisplay: String;
  61. Description
  62. The DataFieldDisplay property identifies the field which TDBOutline will display after loading its hierarchical data. 
  63. DataFieldDisplay can be a field in TDBOutline's underlying dataset, or a calculated field.
  64. After TDBOutline's LoadFromDataSet method is called, DataFieldDisplay will be displayed as the second value in each outline node, following the value of DataField.
  65. The dataset the field is located in is specified in a data source component (TDataSource). 
  66. The DataSource property of the data-aware control specifies which data source component.
  67. urce). 
  68. The DataSource property of the data-aware control specifies which data source component.
  69. Applies to
  70. TDBOutline
  71. Declaration
  72. property DataFieldRecursive: String;
  73. Description
  74. The DataFieldRecursive property identifies the field which defines the recursive relation from which TDBOutline controls the loading and display of its hierarchical data. 
  75. DataFieldRecursive represents the referencing field of the recursive relation defined for the dataset.
  76. DataFieldRecursive references the field specified in the DataField property of TDBOutine.
  77. During drag-and-drop operations, the field in the from-record specified by DataFieldRecursive will be updated with the value of the field in the to-record specified by the DataField property.
  78. The dataset the field is located in is specified in a data source component (TDataSource). 
  79. The DataSource property of the data-aware control specifies which data source component.
  80. Applies to
  81. TDBOutline
  82. Declaration
  83. property MasterParent: Boolean;
  84. Description
  85. The MasterParent property determines whether method LoadFromDataSet will load top-level records as children of a master node, or as top-level nodes. These are the possible values:
  86. Value
  87. Meaning
  88. If True is selected, LoadFromDataSet will load all top-level parent records (i.e., the field represented by DataFieldRecursive is blank) as children of a master parent node. The text of the master node is specified by property MasterParentText.
  89. False
  90. If False is selected, LoadFromDataSet will load all top-level parent records as top-level outline nodes.
  91. taset the field is located in is specified in a data source component (TDataSource). 
  92. The DataSource property of the data-aware control specifies which data source component.
  93. Applies to
  94. TDBOutline
  95. Declaration
  96. property MasterParentText: String;
  97. Description
  98. The MasterParentText property specifies the text of the master parent node that will be used if the MasterParent property is set to true.l nodes. These are the possible values:
  99. Value
  100. Meaning
  101. If True is selected, LoadFromDataSet will load all top-level parent records (i.e., the field represented by DataFieldRecursive is blank) as children of a master parent node. The text of the master node is specified by property MasterParentText.
  102. False
  103. If False is selected, LoadFromDataSet will load all top-level parent records as top-level outline nodes.
  104. taset the field is located in is specified in a data source component (TDataSource). 
  105. The DataSource property of the data-aware control specifies which data source component.
  106. Applies to
  107. TDBOutline
  108. Declaration
  109. procedure LoadFromDataSet;
  110. Description
  111. The LoadFromDataSet executes the algorithm that loads recursively-related data from a dataset into the TDBOutline control.
  112. The dataset that the data is loaded from is specified in a data source component (TDataSource). 
  113. The DataSource property of the data-aware control specifies which data source component.
  114. The hierarchy is defined to LoadFromDataSet via the DataField and DataFieldRecursive properties of TDBOutline.  The data that will be displayed is specified by DataFieldDisplay.
  115. LoadFromDataSet will load all top-level parent records as top-level outline nodes.
  116. taset the field is located in is specified in a data source component (TDataSource). 
  117. The DataSource property of the data-aware control specifies which data source component.
  118. Applies to
  119. TDBOutline
  120. Declaration
  121. procedure AutoDrop(x, y: integer);
  122. Description
  123. The AutoDrop method moves the selected TDBOutline node to be either a child or a sibling of the node at screen pixel coordinates X and Y.  If dragging was performed with the left mouse button only, the selected node will be made a child of node at X,Y.  If the Ctrl key was used with the left mouse button, the selected node will be made a sibling of node at X,Y.  All children of the selected node will be moved with it.
  124. If the DataAutoSynch method is set to true, the AutoDrop will also move update the field specified by DataFieldRecursive, of the record represented by the selected node, with the content of the field specified by DataField of the record represented by the node at X,Y.
  125. Typically, AutoDrop should be called in the OnDragDrop event of the TDBOutline control to enable drag-and-drop manipulation of the hierarchy of the dataset that was loaded into TDBOutline using the LoadFromDataSet method.
  126. Applies to
  127. TDBOutline
  128. Declaration
  129. property OnAutoDragDrop: TAutoDragDropEvent;
  130. Description
  131. The OnAutoDragDrop event occurs whenever the AutoDrop method is called, prior to the execution of the drop. Use the OnAutoDragDrop event handler to specify how TDBOutline should handle the drop of one node onto another.  
  132. If no event handler exists, TDBOutline will send a default message asking the user if the drop should be performed.  
  133. If an event handler exists, TDBOutline will only proceed with the drop if the value of Accept is true.  Hence, simply setting Accept to true will override the default message, and perform the drop without confirmation from the user.  
  134. Tip: replace the default confirmation message with one of your own in the OnAutoDragDrop event handler.  If the user confirms, set Accept to true; otherwise set Accept to false.
  135. The Sender parameter of the OnLoadFromDataSet event is the object calling the event handler.
  136. The Accept parameter is a boolean value indicating whether the record should be dropped.
  137. The ToNode parameter is the text value of the node being dropped on.
  138. The FromNode parameter is the text value of the node being dropped.her a child or a sibling of the node at screen pixel coordinates X and Y.  If dragging was performed with the left mouse button only, the selected node will be made a child of node at X,Y.  If the Ctrl key was used with the left mouse button, the selected node will be made a sibling of node at X,Y.  All children of the selected node will be moved with it.
  139. If the DataAutoSynch method is set to true, the AutoDrop will also move update the field specified by DataFieldRecursive, of the record represented by the selected node, with the content of the field specified by DataField of the record represented by the node at X,Y.
  140. Typically, AutoDrop should be called in the OnDragDrop event of the TDBOutline control to enable drag-and-drop manipulation of the hierarchy of the dataset that was loaded into TDBOutline using the LoadFromDataSet method.
  141. Applies to
  142. TDBOutline
  143. Declaration
  144. property OnLoadFromDataSet: TLoadFromDataSetEvent;
  145. Description
  146. The OnLoadFromDataSet event occurs whenever the LoadFromDataSet method evaluates a new record for load to TDBOutline. Use the OnLoadFromDataSet event handler to evaluate whether a record should be loaded, and set the value of Accept appropriately.  If Accept is set to false, LoadFromDataSet will skip the record.  If true, it will add the record as a node.
  147. The Sender parameter of the OnLoadFromDataSet event is the object calling the event handler.
  148. The Accept parameter is a boolean value indicating whether the record should be loaded.
  149. The ToNode parameter is the DataField value of the record being evaluated. by DataField of the record represented by the node at X,Y.
  150. Typically, AutoDrop should be called in the OnDragDrop event of the TDBOutline control to enable drag-and-drop manipulation of the hierarchy of the dataset that was loaded into TDBOutline using the LoadFromDataSet method.
  151. Welcome to version 1.5 of Maelstrom TDBOutline.
  152. This demo program contains 3 TDBOutline components.
  153. The source is commented to indicate the areas specific to the use of TDBOutline.  We think you'll be astonished at how little code was required--TDBOutline does all the work.
  154. Be sure to right-click on the Employees outline to access a popup menu of editing choices.
  155. Help has been included in TDBOUTLI.HLP.
  156. The version of TDBOutline included with this demo can only be run while Delphi is running.  For ordering information, see parent node "About Maelstrom TDBOutline", child node "How to Order TDBOutline", or see ORDER.WRI.
  157. ______________________________________
  158. City:  __________________________   State:  ______________  Postal Code:  ___________
  159. Country:  __________________________
  160. A copy of TDBOutline must be ordered for each machine on which the program will be used.  Your check or money order should be made payable to "Maelstrom Software."
  161.         # of Copies:  __________ x USD $29"
  162. The following enhancements are in the planning/development stages:
  163.   Method to load data from one-many-many... relationships.  Property editor to allow the user to define these relationships.
  164.   Glyph & Font definition at outline levels and by dataset status code.
  165.  Semi-virtualization -- allow loading of much larger datasets by loading only the top two levels in LoadFromDataSet, and loading child nodes as nodes are expanded.
  166. Please let us know of any other improvements you would like to see.trom TDBOutline component for Delphi.
  167. If you have a Compuserve account and would prefer to receive TDBOutline through e-mail, Go SWREG ID: 7994.
  168. Support is available to registered users through e-mail:
  169. Maelstrom Software
  170. 85 Fernhill Blvd.
  171. Oshawa, Ontario
  172. Canada L1J 5J1
  173. CompuServe: 71431,62
  174. Internet: 71431.62@compuserve.com
  175. Registered users will be notified of bug fixes, enhancements and new products via e-mail or postal mail--depending on the method by which the user registered.
  176. Bug reports and enhancement requests are always welcome.
  177. The following enhancements are in the planning/development stages:
  178.   Method to load data from one-many-many... relationships.  Property editor to allow the user to define these relationships.
  179.   Glyph & Font definition at outline levels and by dataset status code.
  180.  Semi-virtualization -- allow loading of much larger datasets by loading only the top two levels in LoadFromDataSet, and loading child nodes as nodes are expanded.
  181. Please let us know of any other improvements you would like to see.tops in the outline.
  182.   Method to add new node, corresponding to new record added to database.  Currently TOutline's add and addchild methods must be used.
  183. Please let us know of any other improvements you would like to see.
  184. Overview of Maelstrom TDBOutline.
  185. Properties, Methods, Events.line.
  186. About Maelstrom TDBOutline.
  187. TDBOutline's properties are listed in the children of this node.tionships.  Property editor to allow the user to define these relationships.
  188.   Property that will allow the editing of the hierarchy without saving to the database, and a method to save all changes to the database.  Currently, all changes are posted immediately -- the planned modification will allow the user to post or cancel all changes at any point.
  189.   Tabstops in the outline.
  190.   Method to add new node, corresponding to new record added to database.  Currently TOutline's add and addchild methods must be used.
  191. Please let us know of any other improvements you would like to see.
  192.  Postal Code:  ___________
  193. Country:  __________________________
  194. A copy of TDBOutline must be ordered for each machine on which the program will be used.  Your check or money order should be made payable to "Maelstrom Software."
  195.         # of Copies:  __________ x USD $29.00  =    $___________
  196.         TOTAL:                        $___________
  197. If you would like to receiv
  198. TDBOutline's events are listed in the children of this node.ode.tionships.  Property editor to allow the user to define these relationships.
  199.   Property that will allow the editing of the hierarchy without saving to the database, and a method to save all changes to the database.  Currently, all changes are posted immediately -- the planned modification will allow the user to post or cancel all changes at any point.
  200.   Tabstops in the outline.
  201.   Method to add new node, corresponding to new record added to database.  Currently TOutline's add and addchild methods must be used.
  202. Please let us know of any other improvements you would like to see.
  203.  Postal Code:  ___________
  204. Country:  __________________________
  205. A copy of TDBOutline must be ordered for each machine on which the program will be used.  Your check or money order should be made payable to "Maelstrom Software."
  206.         # of Copies:  __________ x USD $29.00  =    $___________
  207.         TOTAL:                        $___________
  208. If you would like to receiv
  209. Applies to
  210. TDBOutline
  211. Declaration
  212. property SynchSuccess: Boolean
  213. Description
  214. The SynchSuccess read-only property indicates whether the outline control successfully synchronized the database record pointer to the record matching the currently selected outline node. These are the possible values:
  215. Value
  216. Meaning
  217. If True, the record pointer was successfully synchronized with the selected outline node.
  218. False
  219. If False, the record pointer was not synchronized with the selected outline node, either because a record corresponding to the node could not be found, or because property DataAutoSynch is set to false.
  220.  would like to see.
  221.  Postal Code:  ___________
  222. Country:  __________________________
  223. A copy of TDBOutline must be ordered for each machine on which the program will be used.  Your check or money order should be made payable to "Maelstrom Software."
  224.         # of Copies:  __________ x USD $29.00  =    $___________
  225.         TOTAL:                        $___________
  226. If you would like to receiv
  227. TDBOutline's methods are listed in the children of this node.de.tionships.  Property editor to allow the user to define these relationships.
  228.   Property that will allow the editing of the hierarchy without saving to the database, and a method to save all changes to the database.  Currently, all changes are posted immediately -- the planned modification will allow the user to post or cancel all changes at any point.
  229.   Tabstops in the outline.
  230.   Method to add new node, corresponding to new record added to database.  Currently TOutline's add and addchild methods must be used.
  231. Please let us know of any other improvements you would like to see.
  232.  Postal Code:  ___________
  233. Country:  __________________________
  234. A copy of TDBOutline must be ordered for each machine on which the program will be used.  Your check or money order should be made payable to "Maelstrom Software."
  235.         # of Copies:  __________ x USD $29.00  =    $___________
  236.         TOTAL:                        $___________
  237. If you would like to receiv
  238. Version 1.5 includes many new enhancements that were requested by registered users of TDBOutline.  See child nodes for details.From Delphi's menu, invoke OPTIONS | INSTALL COMPONENTS and install component DBOUTLN.DCU.
  239. The DBOutline component will appear on the Data Controls pallet.
  240. To run the demo, load and compile DEMO.DPR in delphi.  The demo will only run if installed in C:\OUTLDEMO,
  241. or if the TDatabase components have their paths modified.
  242. o Order TDBOutline", or see ORDER.WRI.ng to new record added to database.  Currently TOutline's add and addchild methods must be used.
  243. Please let us know of any other improvements you would like to see.
  244.  Postal Code:  ___________
  245. Country:  __________________________
  246. A copy of TDBOutline must be ordered for each machine on which the program will be used.  Your check or money order should be made payable to "Maelstrom Software."a
  247.         30t
  248. J_______
  249. Welcome to release 1.5 of the Maelstrom TDBOutline component.
  250. TDBOutline is a native VCL Delphi component designed to allow the loading, navigation, and manipulation of hierarchically organized data contained in a database.
  251. TDBOutline is a descendant of the TOutline Class, inheriting all TOutline's properties, methods and events.
  252. TDBOutline has additional properties, methods and events.  See the children of this node for details.
  253. phi is running.  For ordering information, see parent node "About Maelstrom TDBOutline", child node "How to Order TDBOutline", or see ORDER.WRI.
  254. Welcome to version 1.5 of Maelstrom TDBOutline.
  255. This demo program contains 3 TDBOutline componets.
  256. The source is commented to indicate the areas specific to the use of TDBOutline.  We think you'll be astonished at how little code was required--TDBOutline does all the work.
  257. Be sure to right-click on the Employees outline to access a popup menu of editing choices.
  258. Help has been included in TDBOUTLI.HLP.
  259. The version of TDBOutline included with this demo can only be run while Delphi is running.  For ordering information, see parent node "About Maelstrom TDBOutline", child node "How to Order TDBOutline", or see ORDER.WRI.
  260. STANDARD
  261. PARADOX
  262. DBASE
  263. ASCIIDRV
  264. Mass update or mass cancel of drag-drop changes with a single method call.
  265. ?o`q?o
  266. ?o`q?o
  267. ?o`q?o
  268. Automatic outline synchronization -- as 
  269. To install the TDBOutline component, copy all distributed files into a directory of your choice.
  270. You may wish to install the following files to a component library (example: \delphi\lib).
  271.         DBOUTLN.DCU
  272.         DBOUTLN.RES
  273. From Delphi's menu, invoke OPTIONS | INSTALL COMPONENTS and install component DBOUTLN.DCU.
  274. The DBOutline component will appear on the Data Controls pallet.
  275. To run the demonstration program, load and compile DEMO.DPR in Delphi. 
  276. To integrate TDBOutline's help file with Delphi, install the KWF file:
  277. 1. Make a backup copy if Delphi's master index file, \delphi\bin\delphi.hdx.
  278.     2. Copy file TDBOUTLI.HLP to \delphi\bin.
  279.     3. Copy file TDBOUTLI.KWF to \delphi\help
  280.     4. Run the program HELPINST (installed with Delphi).
  281.     5. Open keyword index file \delphi\bin\delphi.hdx.
  282.     6. Add keyword file \delphi\help\tdboutli.kwf.
  283.     7. Save.
  284.  Version 1.5 has been modified to prevent the display of DataField within the node text.  Resulting from this modification, the Data element of each node is now occupied with information TDBOutline needs to navigate and synchronize the DBOutline.
  285. IMPORTANT:  the attached data (pointer) of each DBOutline node is now used by TDBOutline, and should not be modified by the programmer.  If modification of the attached data is required, version 1.0 should be used.  Version 2.0 is planned to include a new data element that the programmer can use.'s master index file, \delphi\bin\delphi.hdx.
  286.     2. Copy file TDBOUTLI.HLP to \delphi\bin.
  287.     3. Copy file TDBOUTLI.KWF to \delphi\help
  288.     4. Run the program HELPINST (installed with Delphi).
  289.     5. Open keyword index file \delphi\bin\delphi.hdx.
  290.     6. Add keyword file \delphi\help\tdboutli.kwf.
  291.     7. Save.
  292.  Several new methods have been added to facilitate the addition/editing of outline nodes after the initial call to LoadFromDataSet.  These methods are AddDBRecord and ChangeDBRecord.
  293. an use.'s master index file, \delphi\bin\delphi.hdx.
  294.     2. Copy file TDBOUTLI.HLP to \delphi\bin.
  295.     3. Copy file TDBOUTLI.KWF to \delphi\help
  296.     4. Run the program HELPINST (installed with Delphi).
  297.     5. Open keyword index file \delphi\bin\delphi.hdx.
  298.     6. Add keyword file \delphi\help\tdboutli.kwf.
  299.     7. Save.
  300. ?o`q?o
  301. ?o`q?o
  302. ?o`q?o
  303.  Version 1.5 has been modified to preve
  304.  Several new methods have been added to facilitate the addition/editing of outline nodes after the initial call to LoadFromDataSet.  These methods are AddDBRecord and ChangeDBRecord.
  305.  TDBOutline needs to navigate and synchronize the DBOutline.
  306. IMPORTANT:  the attached data (pointer) of each DBOutline node is now used by TDBOutlin
  307. ral new methods have been added to facilitate the addition/editing of outline nodes after the initial call to LoadFromDataSet.  These methods are AddDBRecord and ChangeDBRecord.
  308. an use.'s master index file, \delphi\bin\delphi.hdx.
  309.     2. Copy file TDBOUTLI.HLP to \delphi\bin.
  310.     3. Copy file TDBOUTLI.KWF to \delphi\help
  311.     4. Run the program HELPINST (installed with Delphi).
  312.     5. Open keyword index file \delphi\bin\delphi.hdx.
  313.     6. Add keyword file \delphi\help\tdboutli.kwf.
  314.     7. Save.
  315.  A new method has been added to allow the developer to synchronize the DBOutline's selected node to changes in the underlying dataset's selected record: SynchOutline.
  316. ngeDBRecord.
  317. an use.'s master index file, \delphi\bin\delphi.hdx.
  318.     2. Copy file TDBOUTLI.HLP to \delphi\bin.
  319.     3. Copy file TDBOUTLI.KWF to \delphi\help
  320.     4. Run the program HELPINST (installed with Delphi).
  321.     5. Open keyword index file \delphi\bin\delphi.hdx.
  322.     6. Add keyword file \delphi\help\tdboutli.kwf.
  323.     7. Save.
  324. ?o`q?o
  325. ?o`q?o
  326. ?o`q?o
  327.  Several new methods have been added to
  328.  A new property has been added, DataAutoUpdate, that specifies if drag-drop changes should be immediately posted to the dataset or not.  In conjunction with this new property, a method has been added, UpdateDraggedNodes, that will post all un-posted drag-drop changes to the dataset.  This allows the manipulation of the DBOutline's structure without changing the dataset.  The modifications to the hierarchy can be saved with a call to UpdateDraggedNodes, or abandoned with a call to LoadFromDataSet.rd: SynchOutline.
  329. ngeDBRecord.
  330. an use.'s master index file, \delphi\bin\delphi.hdx.
  331.     2. Copy file TDBOUTLI.HLP to \delphi\bin.
  332.     3. Copy file TDBOUTLI.KWF to \delphi\help
  333.     4. Run the program HELPINST (installed with Delphi).
  334.     5. Open keyword index file \delphi\bin\delphi.hdx.
  335.     6. Add keyword file \delphi\help\tdboutli.kwf.
  336.     7. Save.
  337.  In keeping with the above change, AutoDrop has been modified to post drag-drop changes to the dataset only if DataAutoUpdate is True.
  338. romDataSet.rd: SynchOutline.
  339. ngeDBRecord.
  340. an use.'s master index file, \delphi\bin\delphi.hdx.
  341.     2. Copy file TDBOUTLI.HLP to \delphi\bin.
  342.     3. Copy file TDBOUTLI.KWF to \delphi\help
  343.     4. Run the program HELPINST (installed with Delphi).
  344.     5. Open keyword index file \delphi\bin\delphi.hdx.
  345.     6. Add keyword file \delphi\help\tdboutli.kwf.
  346.     7. Save.
  347. ?o`q?o
  348. ?o`q?o
  349. ?o`q?o
  350.  A new property has been added, DataAut
  351.  Improved support for TQueries has been added.  DataAutoSynch will now work with a TQuery.  All other functionality also works with TQuery, provided the TQuery is capable of being updated.
  352. n added, UpdateDraggedNodes, that will post all un-posted drag-drop changes to the dataset.  This allows the manipulation of the DBOutline's st
  353. eeping with the above change, AutoDrop has been modified to post drag-drop changes to the dataset only if DataAutoUpdate is True.
  354. romDataSet.rd: SynchOutline.
  355. ngeDBRecord.
  356. an use.'s master index file, \delphi\bin\delphi.hdx.
  357.     2. Copy file TDBOUTLI.HLP to \delphi\bin.
  358.     3. Copy file TDBOUTLI.KWF to \delphi\help
  359.     4. Run the program HELPINST (installed with Delphi).
  360.     5. Open keyword index file \delphi\bin\delphi.hdx.
  361.     6. Add keyword file \delphi\help\tdboutli.kwf.
  362.     7. Save.
  363.  A new property has been added to prevent the display of the default error message if a cyclical drag-drop is attempted: IgnoreCyclicalDrops.
  364. Set.rd: SynchOutline.
  365. ngeDBRecord.
  366. an use.'s master index file, \delphi\bin\delphi.hdx.
  367.     2. Copy file TDBOUTLI.HLP to \delphi\bin.
  368.     3. Copy file TDBOUTLI.KWF to \delphi\help
  369.     4. Run the program HELPINST (installed with Delphi).
  370.     5. Open keyword index file \delphi\bin\delphi.hdx.
  371.     6. Add keyword file \delphi\help\tdboutli.kwf.
  372.     7. Save.
  373. ?o`q?o
  374. ?o`q?o
  375. ?o`q?o
  376.  Improved support for TQueries has been
  377.  Improved index support has been provided.  The DataAutoSynch mechanism will now maintain the initial index of the dataset, switching to an index with primary key DataField as needed, then switching back.ateDraggedNodes, that will post all un-posted drag-drop changes to the dataset.  This allows the manipulation of the DBOutline's st
  378. w property has been added to prevent the display of the default error message if a cyclical drag-drop is attempted: IgnoreCyclicalDrops.
  379. Set.rd: SynchOutline.
  380. ngeDBRecord.
  381. an use.'s master index file, \delphi\bin\delphi.hdx.
  382.     2. Copy file TDBOUTLI.HLP to \delphi\bin.
  383.     3. Copy file TDBOUTLI.KWF to \delphi\help
  384.     4. Run the program HELPINST (installed with Delphi).
  385.     5. Open keyword index file \delphi\bin\delphi.hdx.
  386.     6. Add keyword file \delphi\help\tdboutli.kwf.
  387.     7. Save.
  388. Applies to
  389. TDBOutline
  390. Declaration
  391. property IgnoreCyclicalDrops: Boolean;
  392. Description
  393. The IgnoreCyclicalDrops property indicates whether a default error message will be displayed if a cyclical drag-drop operation is attempted.  A cyclical drag-drop is one in which a node is dropped onto itself, or one of its child nodes.  A cyclical drop will not be performed regardless of the value of IgnoreCyclicalDrops -- the property only controls whether or not the error message is displayed.  
  394. Value    
  395. Meaning
  396. True    
  397. If True is selected, and a cyclical drag-drop occurs, no error message will be displayed.
  398. False    
  399. If False is selected, and a cyclical drag-drop occurs, a default error message will display.agged nodes that have not yet been updated (provided DataAutoSynch is True).
  400. Value    Meaning
  401. True    If True is selected, and method AutoDrop is called in the OnDrop event of the DBOutline, the dragged node's underlying dataset record's DataFieldRecursive field will be updated to contain the valu
  402. Applies to
  403. TDBOutline
  404. Declaration
  405. property DataSource: TDataSource;
  406. Description
  407. The DataSource property determines where the component obtains the data to display. 
  408. Specify the data source component that identifies the dataset the data is found in.I.HLP to \delphi\bin.
  409.     3. Copy file TDBOUTLI.KWF to \delphi\help
  410.     4. Run the program HELPINST (installed with Delphi).
  411.     5. Open keyword index file \delphi\bin\delphi.hdx.
  412.     6. Add keyword file \delphi\help\tdboutli.kwf.
  413.     7. Save.
  414. ?o`q?o
  415. ?o`q?o
  416. ?o`q?o
  417.  Improved index support has been provid
  418. Applies to
  419. TDBOutline
  420. Declaration
  421. property DataAutoUpdate: Boolean;
  422. Description
  423. The DataAutoUpdate property may only be True if the DataAutoSynch property is also True.  DataAutoUpdate determines whether the underlying dataset will be automatically updated when method AutoDrop is called.  AutoDrop is typically called after a drag-drop move of a node to another node.  Hence DataAutoUpdate determines whether the dragged node's underlying dataset record will have its DataFieldRecursive field automatically updated to contain the value of the dropped-on node's underlying dataset record's DataField field.
  424. If DataAutoUpdate is false, method UpdateDraggedNodes can be called to perform the update of all dragged nodes that have not yet been updated (provided DataAutoSynch is True).
  425. Value    
  426. Meaning
  427. True    
  428. If True is selected, and method AutoDrop is called in the OnDrop event of the DBOutline, the dragged node's underlying dataset record's DataFieldRecursive field will be updated to contain the value of the dropped-on node's underlying dataset record's DataField field.
  429. False    
  430. If False is selected, the above update will not automatically occur when AutoDrop is called.  Instead, method UpdateDraggedNodes will have to be called to perform the update.e dragged node's underlying dataset record's DataFieldRecursive field will be updated to contain the value of the dropped-on node's underlying dataset record's DataField field.
  431. False    If False is selected, the above update will not automatically occur when AutoDrop is called.  Instead, method UpdateDraggedNodes will have to be called to perform the update.Copy file TDBOUTLI.HLP to \delphi\bin.
  432.     3. Copy file TDBOUTLI.KWF to \delphi\help
  433.     4. Run the program HELPINST (installed with Delphi).
  434.     5. Open keyword index file \delphi\bin\delphi.hdx.
  435.     6. Add keyword file \delphi\help\tdboutli.kwf.
  436.     7. Save.
  437. Applies to
  438. TDBOutline
  439. Declaration
  440. property SynchSuccess: Boolean;
  441. Description
  442. The SynchSuccess property is a Read-only property that indicates if the last attempt by TDBOutline to synchronize the dataset pointer to the selected DBOutline node was successful.  If SynchSuccess is True, the DBOutline component was able to synchronize the dataset, otherwise it was unable to synchronize.
  443. SynchSuccess can be evaluated at runtime to determine if the record corresponding to the selected outline was found.  SynchSuccess can only be True if DataAutoSynch is True.  SynchSuccess will always be False when a MasterParent node is selected, because there is no corresponding dataset record.
  444. ?o`q?o
  445. Applies to
  446. TDBOutline
  447. Declaration
  448. property DataAuto
  449. Applies to
  450. TDBOutline
  451. Declaration
  452. procedure SynchOutline(Sender: TObject);
  453. Description
  454. The SynchOutline method changes the selected DBOutline node to match the currently selected dataset record.
  455. See Synchronizing the DBOutline for details on usage.rlying dataset record's DataFieldRecursive field will be updated to contain 
  456. TDBOutline
  457. Declaration
  458. property SynchSuccess: Boolean;
  459. Description
  460. The SynchSuccess property is a Read-only property that indicates if the last attempt by TDBOutline to synchronize the dataset pointer to the selected DBOutline node was successful.  If SynchSuccess is True, the DBOutline component was able to synchronize the dataset, otherwise it was unable to synchronize.
  461. SynchSuccess can be evaluated at runtime to determine if the record corresponding to the selected outline was found.  SynchSuccess can only be True if DataAutoSynch is True.  SynchSuccess will always be False when a MasterParent node is selected, because there is no
  462. Applies to
  463. TDBOutline
  464. Declaration
  465. procedure UpdateDraggedNodes(Sender: TObject);
  466. Description
  467. The UpdateDraggedNodes method is used to post all outstanding drag-drop changes to the dataset.  Drag-drop changes are outstanding if they have not been saved to the dataset.  UpdateDraggedNodes is only functional if DataAutoSynch is True.  If DataAutoUpdate is also True, drag-drop changes will always be posted to the dataset immediately, and UpdateDraggedNodes will have no effect (as there will be no outstanding changes to update).  See Manipulating the hierarchy via drag-and-drop for more details.hen a MasterParent node is selected, because there is no corresp@
  468. ?o`q?o
  469. ?o`q?o
  470. Applies to
  471. TDBOutline
  472. Declaration
  473. Applies to
  474. TDBOutline
  475. Declaration
  476. procedure AddDBRecord(NewDataField: string; NewDataFieldDisplay: string; NewDataFieldRecursive: string);
  477. Description
  478. The AddDBRecord method is designed to add a new dataset record to the DBOutline.  This method takes care of the pointers required to maintain DBOutline <-> dataset synchronization through DataAutoSynch and SynchOutline.  The new node is added as a child node of the currently selected DBOutline node.
  479. The NewDataField parameter corresponds to the DataField field of the record to be added.  NewDataFieldDisplay corresponds to the DataFieldDisplay field of the record to be added.  NewDataFieldRecursive corresponds to the DataFieldRecursive field of the record to be added.
  480. Note: Adding nodes to a DBOutline by any other method (i.e. by the inherited Add or AddChild methods) will disable synchronization for the added node.  Modifying the attached data of an outline node via any means will also disable synchronization for the modified node, and may prevent synchronization for all nodes.
  481. Applies to
  482. TDBOutline
  483. Declaration
  484. procedure ChangeDBRecord(FromDataField: string; ToDataField: string; ToDataFieldDisplay: string);
  485. Description
  486. The ChangeDBRecord method is designed to change the contents of a node and its data to reflect a change in the underlying dataset record.  This method takes care of the pointers required to maintain DBOutline <-> dataset synchronization through DataAutoSynch and SynchOutline.
  487. The FromDataField parameter corresponds to the DataField field of the record prior to the change.  ToDataFieldDisplay corresponds to the DataField field of the record after the change. ToDataFieldDisplay corresponds to the DataFieldDisplay field of the record after the change. DataFieldRecursive is not updated via this method.  Use AutoDrop to modify DataFieldRecursive.
  488. Note: Changing the DataField value of a node by any other method will disable synchronization for the changed node.  Modifying the attached data of an outline node via any means will also disable synchronization for the modified node, and may prevent synchronization for all nodes.
  489. Maelstrom TDBOutline Order Form
  490. Maelstrom TDBOutline may be ordered through the Shareware Registration System on CompuServe.
  491. CompuServe: SWREG  ID: 8635
  492. Please note that Maelstrom Software does not accept Credit Card Orders. To order direct, please mail a copy of this order form, along with your check or money order to:
  493. Maelstrom Software
  494. 85 Fernhill Blvd
  495. Oshawa, Ontario
  496. Canada L1J 5J1
  497. Please type or print clearly:
  498. Name:  _____________________________________________________________________
  499. Company (if applicable):  ______________________________________________________
  500. Mailing Address:  ____________________________________________________________
  501. City:  __________________________   State:  ______________  Postal Code:  ___________
  502. Country:  __________________________
  503. A copy of TDBOutline must be ordered for each machine on which the program will be used.  Your check or money order should be made payable to "Maelstrom Software."
  504.         # of Copies:  __________ x USD $39.00  =    $___________
  505.         TOTAL:                        $___________
  506. If you would like to receive notice of future upgrades and new Maelstrom product releases via e-mail, please include your Internet or CompuServe e-mail address:  __________________________
  507. How did you hear about Maelstrom TDBOutline?  __________________________________
  508. You will receive a 3.5" disk through the Mail upon receipt of order.
  509. Please write or send Internet e-mail to 71431.62@compuserve.com to check status or ask questions. Thank you for ordering the Maelstrom TDBOutline component for Delphi.
  510. If you have a Compuserve account and would prefer to receive TDBOutline through e-mail, Go SWREG ID: 8635
  511. Maelstrom TDBOutline v1.5 Order Form
  512. Maelstrom TDBOutline v1.5 may be ordered through the Shareware Registration System on CompuServe.
  513. CompuServe: SWREG  ID: 8635
  514. Please note that Maelstrom Software does not accept Credit Card Orders. To order direct, please mail a copy of this order form, along with your check or money order to:
  515. Maelstrom Software
  516. 85 Fernhill Blvd
  517. Oshawa, Ontario
  518. Canada L1J 5J1
  519. Please type or print clearly:
  520. Name:  _____________________________________________________________________
  521. Company (if applicable):  ______________________________________________________
  522. Mailing Address:  ____________________________________________________________
  523. City:  __________________________   State:  ______________  Postal Code:  ___________
  524. Country:  __________________________
  525. A copy of TDBOutline must be ordered for each machine on which the program will be used.  Your check or money order should be made payable to "Maelstrom Software."
  526.         # of Copies:  __________ x USD $39.00  =    $___________
  527.         TOTAL:                        $___________
  528. If you would like to receive notice of future upgrades and new Maelstrom product releases via e-mail, please include your Internet or CompuServe e-mail address:  __________________________
  529. How did you hear about Maelstrom TDBOutline?  __________________________________
  530. You will receive a 3.5" disk through the Mail upon receipt of order.
  531. Please write or send Internet e-mail to 71431.62@compuserve.com to check status or ask questions. Thank you for ordering the Maelstrom TDBOutline component for Delphi.
  532. If you have a Compuserve account and would prefer to receive TDBOutline through e-mail, Go SWREG ID: 8635
  533. erty specifies the text of the master parent node that will be used if the MasterParent property is set to true.
  534. Define events required for manipulating the hierarchy.
  535. Watch for this upcoming Maelstrom release.
  536.         34t
  537.